home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Magazine / C_Tutorial / Part-13 / PatchLib / source / CreatePatchProjectA.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-12-10  |  1.8 KB  |  71 lines

  1. /*
  2. **    patch.library
  3. **
  4. **    Copyright © 1993-1997 by Stefan Fuchs
  5. **        Freely distributable.
  6. */
  7.  
  8. #ifndef _PATCH_INCLUDES_H
  9. #include "patch_includes.h"
  10. #endif
  11.  
  12. /****** patch.library/CreatePatchProjectA ***************************************
  13. *
  14. *   NAME
  15. *        CreatePatchProjectA -- Create an instance of a patch project. (V4)
  16. *        CreatePatchProject -- varargs stub for CreatePatchProjectA(). (V4)
  17. *
  18. *   SYNOPSIS
  19. *        project = CreatePatchProjectA( projectname, taglist )
  20. *        D0                             A0           A1
  21. *
  22. *        APTR CreatePatchProjectA( STRPTR, struct TagItem *);
  23. *
  24. *        project = CreatePatchProject( projectname, ...)
  25. *
  26. *        APTR CreatePatchProject( STRPTR, ...);
  27. *
  28. *   FUNCTION
  29. *        Create an instance of a patch project.
  30. *
  31. *        This instance may be used to manipulate or remove patches belonging
  32. *        to one project (or program) with one function call.
  33. *
  34. *        The projectname will be copied into an internal buffer.
  35. *
  36. *   INPUTS
  37. *        projectname = pointer to name of the patch project
  38. *        taglist     = pointer to array of tags
  39. *
  40. *   TAGS
  41. *        none defined yet
  42. *
  43. *   RESULT
  44. *        project = pointer to patch projects private structure or 
  45. *                  null on failure
  46. *
  47. *   NOTES
  48. *
  49. *   BUGS
  50. *
  51. *   SEE ALSO
  52. *        RemovePatchProject(), InstallPatchTags(), patch.h
  53. *
  54. ******************************************************************************
  55. *
  56. */
  57. struct PatchProject * LIBFUNC CreatePatchProjectA( REGA0 STRPTR name GNUC_REGA0 , REGA1 struct TagItem *taglist GNUC_REGA1)
  58. {
  59. struct PatchProject *project;
  60.  
  61.     project = (struct PatchProject *)ACreateMyListNodeNamed(&(PatchBase->PB_ProjectHeader),sizeof(struct PatchProject), name);
  62.     if(project)
  63.     {
  64.         project->PPR_Node.ln_Type = PS_TYPE_PROJECT;
  65.         NewList(&(project->PPR_PatchListHeader));
  66.     }
  67.  
  68.     ReturnD1(0L);
  69.     return(project);
  70. }
  71.